In [ ]:
%pylab inline
%load_ext autoreload
%autoreload 2

import skrf
skrf.stylely()

import sys; sys.path.insert(0, r"C:\Coding\Python\scikit-rf\qtapps")  # <-- if you don't have skrf_qtwidgets in your path
import skrf_qtwidgets
# from skrf_qtwidgets.analyzers.keysight_pna.analyzer import Analyzer
from skrf_qtwidgets.analyzers.analyzer_agilent_n5247a import Analyzer

In [ ]:
nwa = Analyzer(address=16, interface="GPIB")
nwa.idn

OPTIONAL METHODS TO OVERRIDE FOR SKRF_QTWIDGETS

  • init - setup the instrument resource (i.e., pyvisa)
  • get_twoport_ntwk -- requires implementing get_snp_network
  • get_oneport_ntwk -- requires implementing get_snp_network
  • enter/exit - for using python's with statement

with Analyzer("GPIB0::16::ISNTR") as nwa: ntwk = nwa.measure_twoport_ntwk()

METHODS THAT MUST BE IMPLEMENTED FOR SKRF_QTWIDGETS

  • get_traces
  • get_list_of_traces
  • get_snp_network
  • get_switch_terms
  • set_frequency_sweep

OPTIONAL CLASS PROPERTIES TO OVERRIDE

  • DEFAULT_VISA_ADDRESS
  • NAME
  • NPORTS
  • NCHANNELS

In [ ]:
nwa.set_frequency_sweep(10, 40, 401, f_unit='GHz')  # Ku-Band

In [ ]:
ntwk = nwa.get_oneport_ntwk(port=1, sweep=False)
ntwk.plot_s_db()

In [ ]:
ntwk = nwa.get_twoport_ntwk(ports=(1,2), sweep=True)
ntwk.plot_s_db()

In [ ]:
fwd, rev = nwa.get_switch_terms(ports=(1, 2))
fwd.plot_s_db()
rev.plot_s_db()

In [ ]:
trace_list = nwa.get_list_of_traces()
trace_list

In [ ]:
traces = nwa.get_traces(trace_list[0:2])
for trace in traces:
    trace.plot_s_db()